-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EFM Recovery Integration Tests: Part 1 #6156
EFM Recovery Integration Tests: Part 1 #6156
Conversation
Co-authored-by: Jordan Schalm <[email protected]>
- add epoch address to env template - update recover transaction template
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feature/efm-recovery #6156 +/- ##
========================================================
- Coverage 41.71% 41.67% -0.04%
========================================================
Files 1976 1978 +2
Lines 139331 139430 +99
========================================================
- Hits 58120 58111 -9
- Misses 75155 75273 +118
+ Partials 6056 6046 -10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
- remove script - move cluster qc contract address to argument - remove debug line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't quite get through the whole PR yet. Posting what I have reviewed so far as I'll be out on Monday.
integration/tests/epochs/recover_epoch/recover_epoch_efm_test.go
Outdated
Show resolved
Hide resolved
// pausing consensus node will force the network into EFM | ||
ln := s.GetContainersByRole(flow.RoleCollection)[0] | ||
_ = ln.Pause() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment says consensus node, but we're pausing the collection node.
In addition, I am guessing that EFM is being triggered only because we have made the DKG phases much shorter (10 views).
We should test this without pausing the collection node:
- if we still trigger EFM, then we don't need to pause the collection node and can remove that code
- if we don't trigger EFM, then we should revert the change to the DKG phase length
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test did not work without pausing the collection node, we can look into it further in part 2.
integration/tests/epochs/recover_epoch/recover_epoch_efm_test.go
Outdated
Show resolved
Hide resolved
integration/tests/epochs/recover_epoch/recover_epoch_efm_test.go
Outdated
Show resolved
Hide resolved
|
||
sns := s.GetContainersByRole(flow.RoleConsensus) | ||
_ = sns[0].Pause() | ||
// get the latest snapshot and start new container with it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
outdated comment - we aren't starting a new container
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -117,8 +118,15 @@ func (s *BaseSuite) SetupTest() { | |||
go lib.LogStatusPeriodically(s.T(), s.Ctx, s.log, s.Client, 5*time.Second) | |||
} | |||
|
|||
func (s *BaseSuite) TearDownTest() { | |||
s.log.Info().Msg("================> Start TearDownTest") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still need those logs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes these help with debugging we have them on all the epoch related integration tests.
…flow/flow-go into khalil/efm-recovery-integration-part1
… EFM without pausing LN container
- update state comittment const
… khalil/efm-recovery-integration-part1
This PR adds an integration test that partially tests the EFM recovery governance transaction. The intention behind this PR is to introduce a functional test suite that covers the entire process, including generating and submitting the governance transaction, making changes to the Epoch smart contract, and observing the emission of an EFM recovery service event. However, it does not test whether the emitted EFM service event is processed by the fallback state machine due to pending updates required for downstream components to deliver the service event to the fallback state machine. This approach allows us to detect any transaction argument generation or submission issues, as well as container orchestration challenges encountered while manually triggering EFM, while we continue to finalize the remaining EFM tasks.